﻿Imports Negocio

Public Class frmOfertasAdmin

    Private Accion As String
    Private indexMod As Integer
    Private antiguo As Oferta

    Private Sub frmOfertasAdmin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To miGestionOferta.Ofertas.Count - 1
            cboOfertas.Items.Add(miGestionOferta.Ofertas(i).Nombre)

        Next
    End Sub

    Private Sub btnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNuevo.Click
        grbModificar.Visible = True
        Accion = "Nuevo"
        cboOfertas.Enabled = False
        txtCantidad.Text = ""
        txtFecha.Text = ""
        txtNombre.Text = ""
        txtPrecio.Text = ""
        txtProducto.Text = ""

    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        If Accion = "Nuevo" Then
            If txtCantidad.Text = "" Then
                MessageBox.Show("Error, no has introducido cantidad")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If Not IsDate(txtFecha.Text) Then
                MessageBox.Show("Error, la fecha no es válida")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtNombre.Text = "" Then
                MessageBox.Show("Error, no has introducido nombre")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtPrecio.Text = "" Then
                MessageBox.Show("Error, no has introducido precio")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtProducto.Text = "" Then
                MessageBox.Show("Error, no has introducido producto")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            Dim oferta As New Oferta(txtProducto.Text, txtNombre.Text, txtPrecio.Text, txtCantidad.Text, txtFecha.Text)
            Dim mens As String = miGestionOferta.Añadir(oferta)
            If mens <> "" Then
                txtCantidad.Text = ""
                txtFecha.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
                txtProducto.Text = ""
                cboOfertas.Enabled = True
                grbModificar.Visible = False

            End If
            txtCantidad.Text = ""
            txtFecha.Text = ""
            txtNombre.Text = ""
            txtPrecio.Text = ""
            txtProducto.Text = ""
            cboOfertas.Enabled = True
            grbModificar.Visible = False
            cboOfertas.Items.Clear()
            For i As Integer = 0 To miGestionOferta.Ofertas.Count - 1
                cboOfertas.Items.Add(miGestionOferta.Ofertas(i).Nombre)

            Next
            Exit Sub

        End If
        If Accion = "Modificar" Then
            If txtCantidad.Text = "" Then
                MessageBox.Show("Error, no has introducido cantidad")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtFecha.Text OrElse Not IsDate(txtFecha.Text) Then
                MessageBox.Show("Error, la fecha no es válida")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtNombre.Text = "" Then
                MessageBox.Show("Error, no has introducido nombre")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtPrecio.Text = "" Then
                MessageBox.Show("Error, no has introducido precio")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            If txtProducto.Text = "" Then
                MessageBox.Show("Error, no has introducido producto")
                grbModificar.Visible = False
                cboOfertas.Enabled = True
                Exit Sub
            End If
            Dim oferta As New Oferta(txtProducto.Text, txtNombre.Text, txtPrecio.Text, txtCantidad.Text, txtFecha.Text)
            Dim mensaje As String = miGestionOferta.Modificar(antiguo, oferta)
            If mensaje <> "" Then
                MessageBox.Show(mensaje)
                txtCantidad.Text = ""
                txtFecha.Text = ""
                txtNombre.Text = ""
                txtPrecio.Text = ""
                txtProducto.Text = ""
                cboOfertas.Enabled = True
                grbModificar.Visible = False
            End If
            txtCantidad.Text = ""
            txtFecha.Text = ""
            txtNombre.Text = ""
            txtPrecio.Text = ""
            txtProducto.Text = ""
            cboOfertas.Enabled = True
            grbModificar.Visible = False
            cboOfertas.Items.Clear()
            For i As Integer = 0 To miGestionOferta.Ofertas.Count - 1
                cboOfertas.Items.Add(miGestionOferta.Ofertas(i).Nombre)

            Next

        End If

    End Sub

    Private Sub btnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModificar.Click
        grbModificar.Visible = True
        cboOfertas.Enabled = False
        indexMod = cboOfertas.SelectedIndex
        antiguo = miGestionOferta.Ofertas(indexMod)
        txtCantidad.Text = antiguo.Cantidad
        txtFecha.Text = antiguo.Fecha
        txtNombre.Text = antiguo.Nombre
        txtPrecio.Text = antiguo.Precio
        txtProducto.Text = antiguo.Producto
        Accion = "Modificar"
    End Sub

    Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
        grbModificar.Visible = False
        cboOfertas.Enabled = True
        indexMod = cboOfertas.SelectedIndex
        Dim result As DialogResult = MessageBox.Show("¿Deseas eliminar " & miGestionOferta.Ofertas(indexMod).Nombre & " ?", "Atencion", MessageBoxButtons.YesNo)
        If result = Windows.Forms.DialogResult.Yes Then
            Dim mens As String = miGestionOferta.Eliminar(miGestionOferta.Ofertas(indexMod))
            If mens <> "" Then
                MessageBox.Show(mens)
            Else
                MessageBox.Show("Se ha eliminado correctamente")
                cboOfertas.Items.Clear()
                For i As Integer = 0 To miGestionOferta.Ofertas.Count - 1
                    cboOfertas.Items.Add(miGestionOferta.Ofertas(i).Nombre)

                Next

            End If

        End If

    End Sub

    Private Sub txtPrecio_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPrecio.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso e.KeyChar <> ControlChars.Back Then
            MessageBox.Show("Solo admito dígitos")
            e.KeyChar = ""
        End If
    End Sub

    Private Sub txtCantidad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCantidad.KeyPress
        If Not IsNumeric(e.KeyChar) AndAlso e.KeyChar <> ControlChars.Back Then
            MessageBox.Show("Solo admito dígitos")
            e.KeyChar = ""
        End If
    End Sub
End Class